// miniprogram/pages/mine/absence/list/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: [],
    page: 1,
    pageSize: 20,
    show: false,
    selectedIndex: '',
    selectedItem: {},
    actions: [
      {
        name: '审核通过',
      },
      {
        name: '删除',
      }
    ],
  },
  onClickBtn: function (e) {
    console.log('onClickApprove', e)
    this.setData({ show: true });
    this.setData({ selectedIndex: e.currentTarget.dataset.index });
    this.setData({ selectedItem: e.currentTarget.dataset.item });
  },
  onClickUser: function (e) {
    var item = e.currentTarget.dataset.item
    wx.navigateTo({
      url: '../userDetail/detail?openid=' + item._openid + '&nickName=' + item.nickName + '&avatarUrl=' + item.avatarUrl,
    })
  },
  onSelect(event) {
    console.log(event.detail);
    switch (event.detail.name) {
      case "审核通过":
        wx.showModal({
          title: '确认',
          content: '确认通过审核吗？',
          confirmText: '确认',
          cancelText: '取消',
          success: res => {
            if (res.confirm) {
              wx.showLoading({
                title: '加载中...',
              })
              wx.cloud.callFunction({
                name: 'approveAbsence',
                data: {
                  'id': this.data.selectedIndex
                },
                success: res => {
                  wx.hideLoading()
                  wx.showToast({
                    title: '审核成功',
                  })
                  this.getDataFromDB();
                },
                fail: err => {
                  wx.hideLoading()
                  wx.showToast({
                    title: '审核失败',
                  })
                }
              })
            }
          }
        })
        break
      case "删除":
        wx.showModal({
          title: '确认删除吗？',
          content: '确认删除吗？删除以后需要重新申请。',
          confirmText: '确认',
          cancelText: '取消',
          success: res => {
            if (res.confirm) {
              wx.showLoading({
                title: '加载中...',
              })
              wx.cloud.callFunction({
                name: 'deleteAbsence',
                data: {
                  'id': this.data.selectedIndex
                },
                success: res => {
                  wx.hideLoading()
                  wx.showToast({
                    title: '删除成功',
                  })
                  this.getDataFromDB();
                },
                fail: err => {
                  wx.hideLoading()
                  wx.showToast({
                    title: '删除失败',
                  })
                }
              })
            }
          }
        })
        break
    }

  },
  onClose() {
    this.setData({ show: false });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getDataFromDB();
  },
  getDataFromDB: function () {
    const db = wx.cloud.database();
    db.collection('absence-list').orderBy('systemTime', 'desc').get({
      success: res => {
        console.log(res.data);
        this.setData({ list: res.data });
      }
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})


